package com.yimi.yinhepda.db.table;

import com.google.gson.annotations.SerializedName;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 更新线路基础资料
 *
 * @author 000432
 */
@DatabaseTable(tableName = "lineVoTable")
public class LineVoTable implements Serializable {
    @DatabaseField(generatedId = true)
    private transient Long id;
    /**
     * 主键
     */
    @DatabaseField(uniqueIndex = true)
    @SerializedName("lineId")
    private Long lineId;

    /**
     * 线路编码
     */
    @DatabaseField
    @SerializedName("lineCode")
    private String lineCode;

    /**
     * 线路名称
     */
    @DatabaseField
    @SerializedName("lineName")
    private String lineName;

    /**
     * 始发站编码
     */
    @DatabaseField
    @SerializedName("sourceZoneCode")
    private String sourceZoneCode;

    @DatabaseField
    @SerializedName("sourceZoneName")
    private String sourceZoneName;

    /**
     * 目的站编码
     */
    @DatabaseField
    @SerializedName("destZoneCode")
    private String destZoneCode;
    @DatabaseField
    @SerializedName("destZoneName")
    private String destZoneName;

    /**
     * 运输方式（1:干线；2支线：；3：整车）
     */
    @DatabaseField
    @SerializedName("transportWay")
    private String transportWay;

    /**
     * 产品类型（1：次日达；2：隔日达；3：标准快运）
     */
    @DatabaseField
    @SerializedName("productType")
    private String productType;

    /**
     * 线路类型（1：省内线 ；2：临省线；3：跨省线）
     */
    @DatabaseField
    @SerializedName("areaType")
    private String areaType;

    /**
     * 经营模式（1：自营2：外包）
     */
    @DatabaseField
    @SerializedName("businessModel")
    private String businessModel;

    /**
     * 线路属性（1：主用线路；2：备用线路）
     */
    @DatabaseField
    @SerializedName("transportAttribute")
    private String transportAttribute;

    /**
     * 执行周期
     */
    @DatabaseField
    @SerializedName("performCycle")
    private String performCycle;

    @DatabaseField
    @SerializedName("lineMileage")
    private BigDecimal lineMileage;

    @DatabaseField
    @SerializedName("timeEffect")
    private BigDecimal timeEffect;

    /**
     * 是否有效(1:有效2：无效)--暂时无用（根据生效时间判断）
     */
    @DatabaseField
    @SerializedName("effectiveType")
    private String effectiveType;

    /**
     * 生效日期
     */
    @DatabaseField
    @SerializedName("effectiveTime")
    private String effectiveTime;

    /**
     * 失效日期
     */
    @DatabaseField
    @SerializedName("invalidTime")
    private String invalidTime;

    /**
     * 备注
     */
    @DatabaseField
    @SerializedName("note")
    private String note;

    /**
     * 公司编码
     */
    @DatabaseField
    @SerializedName("compCode")
    private String compCode;

    /**
     * 添加人
     */
    @DatabaseField
    @SerializedName("creater")
    private String creater;

    /**
     * 添加时间
     */
    @DatabaseField
    @SerializedName("createrTime")
    private String createrTime;

    /**
     * 编辑人
     */
    @DatabaseField
    @SerializedName("modifier")
    private String modifier;

    /**
     * 编辑时间
     */
    @DatabaseField
    @SerializedName("modifierTime")
    private String modifierTime;

    /**
     * 删除状态
     */
    @DatabaseField
    @SerializedName("isDelete")
    private Integer isDelete;

    /**
     * 时间
     */
    @DatabaseField(index = true)
    @SerializedName("latestTime")
    private String latestTime;

    /**
     * 乐观锁字段
     */
    @DatabaseField
    @SerializedName("recordVersion")
    private Long recordVersion;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getLineId() {
        return lineId;
    }

    public void setLineId(Long lineId) {
        this.lineId = lineId;
    }

    public String getLineCode() {
        return lineCode;
    }

    public void setLineCode(String lineCode) {
        this.lineCode = lineCode;
    }

    public String getLineName() {
        return lineName;
    }

    public void setLineName(String lineName) {
        this.lineName = lineName;
    }

    public String getSourceZoneCode() {
        return sourceZoneCode;
    }

    public void setSourceZoneCode(String sourceZoneCode) {
        this.sourceZoneCode = sourceZoneCode;
    }

    public String getSourceZoneName() {
        return sourceZoneName;
    }

    public void setSourceZoneName(String sourceZoneName) {
        this.sourceZoneName = sourceZoneName;
    }

    public String getDestZoneCode() {
        return destZoneCode;
    }

    public void setDestZoneCode(String destZoneCode) {
        this.destZoneCode = destZoneCode;
    }

    public String getDestZoneName() {
        return destZoneName;
    }

    public void setDestZoneName(String destZoneName) {
        this.destZoneName = destZoneName;
    }

    public String getTransportWay() {
        return transportWay;
    }

    public void setTransportWay(String transportWay) {
        this.transportWay = transportWay;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getAreaType() {
        return areaType;
    }

    public void setAreaType(String areaType) {
        this.areaType = areaType;
    }

    public String getBusinessModel() {
        return businessModel;
    }

    public void setBusinessModel(String businessModel) {
        this.businessModel = businessModel;
    }

    public String getTransportAttribute() {
        return transportAttribute;
    }

    public void setTransportAttribute(String transportAttribute) {
        this.transportAttribute = transportAttribute;
    }

    public String getPerformCycle() {
        return performCycle;
    }

    public void setPerformCycle(String performCycle) {
        this.performCycle = performCycle;
    }

    public BigDecimal getLineMileage() {
        return lineMileage;
    }

    public void setLineMileage(BigDecimal lineMileage) {
        this.lineMileage = lineMileage;
    }

    public BigDecimal getTimeEffect() {
        return timeEffect;
    }

    public void setTimeEffect(BigDecimal timeEffect) {
        this.timeEffect = timeEffect;
    }

    public String getEffectiveType() {
        return effectiveType;
    }

    public void setEffectiveType(String effectiveType) {
        this.effectiveType = effectiveType;
    }

    public String getEffectiveTime() {
        return effectiveTime;
    }

    public void setEffectiveTime(String effectiveTime) {
        this.effectiveTime = effectiveTime;
    }

    public String getInvalidTime() {
        return invalidTime;
    }

    public void setInvalidTime(String invalidTime) {
        this.invalidTime = invalidTime;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getCompCode() {
        return compCode;
    }

    public void setCompCode(String compCode) {
        this.compCode = compCode;
    }

    public String getCreater() {
        return creater;
    }

    public void setCreater(String creater) {
        this.creater = creater;
    }

    public String getCreaterTime() {
        return createrTime;
    }

    public void setCreaterTime(String createrTime) {
        this.createrTime = createrTime;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public String getModifierTime() {
        return modifierTime;
    }

    public void setModifierTime(String modifierTime) {
        this.modifierTime = modifierTime;
    }

    public Integer getIsDelete() {
        if (isDelete == null) {
            return 0;
        }
        return isDelete;
    }

    public void setIsDelete(Integer isDelete) {
        this.isDelete = isDelete;
    }

    public String getLatestTime() {
        return latestTime;
    }

    public void setLatestTime(String latestTime) {
        this.latestTime = latestTime;
    }

    public Long getRecordVersion() {
        return recordVersion;
    }

    public void setRecordVersion(Long recordVersion) {
        this.recordVersion = recordVersion;
    }
}
